import request from '@/config/axios'
import type { Dayjs } from 'dayjs'

/** 模具图号信息 */
export interface DrawingNo {
  id: number // 主键
  drawingNo?: string // 图号
  customer: string // 客户名
  categoryId?: number // 模具类型id
  upkeepId: number // 保养类型id
  recheckId: number // 复检类型id
  lifeDeductionId?: number // 寿命扣减方式id
  palletStatus?: number // 托盘状态
  storageId: number // 储位id
  devId: number // 设备id
  warehouseInPersonId: number // 入库人员id
  warehouseInTime: string | Dayjs // 入库时间
  warehouseOutPersonId: number // 出库人员id
  warehouseOutTime: string | Dayjs // 出库时间
  description: string // 描述
}

// 模具图号 API
export const DrawingNoApi = {
  // 查询所有模具图号
  getDrawingNoAll: async () => {
    return await request.get({ url: `/mold/drawing-no/all` })
  },

  // 查询模具图号分页
  getDrawingNoPage: async (params: any) => {
    return await request.get({ url: `/mold/drawing-no/page`, params })
  },

  // 查询模具图号详情
  getDrawingNo: async (id: number) => {
    return await request.get({ url: `/mold/drawing-no/get?id=` + id })
  },

  // 新增模具图号
  createDrawingNo: async (data: DrawingNo) => {
    return await request.post({ url: `/mold/drawing-no/create`, data })
  },

  // 修改模具图号
  updateDrawingNo: async (data: DrawingNo) => {
    return await request.put({ url: `/mold/drawing-no/update`, data })
  },

  // 删除模具图号
  deleteDrawingNo: async (id: number) => {
    return await request.delete({ url: `/mold/drawing-no/delete?id=` + id })
  },

  /** 批量删除模具图号 */
  deleteDrawingNoList: async (ids: number[]) => {
    return await request.delete({ url: `/mold/drawing-no/delete-list?ids=${ids.join(',')}` })
  },

  // 导出模具图号 Excel
  exportDrawingNo: async (params) => {
    return await request.download({ url: `/mold/drawing-no/export-excel`, params })
  },

  // 下载导入模板
  importTemplate: async () => {
    return request.download({ url: '/mold/drawing-no/get-import-template' })
  }
}
